Dr. Claire Le Goues
Associate Professor, Software and Societal Systems
Bio
I am: an Associate Professor in the at primarily affiliated with the . My research interests span software engineering and programming languages, and especially in how to construct, maintain, evolve, improve/debug, and assure high-quality software systems.
Quick professional bio: Ph.D. and M.S. degrees, Computer Science, from the University of Virginia; B.A., Computer Science, from Harvard College. Before grad school, I spent a year and a half employed as a Software Engineer at IBM in Cambridge, MA, where I specialized in rapid XML processing. Although my time in the Real World was brief, it substantively impacted the types of research problems I find interesting.
Research
My research is in Software Engineering, inspired/informed by program analysis and transformation, with a side of search-based software engineering. I focus on automatic program improvement and repair (using stochastic or search based as well as more formal approaches such as SMT-informed semantic code search); assurance and testing, especially in light of the scale and complexity of modern evolving systems; and quality metrics. I study software from the worlds of open source and desktop all the way to embedded and robotics systems.
Projects
This list is not comprehensive, but I get the most email about these. Note that virtually all of my work is done in collaboration with many great colleagues and students!
SearchRepair: extends and then uses semantic code search over large repositories of candidate code bases to produce high-quality bug patches. (see , )
GenProg: combines stochastic search methods like genetic programming with lightweight program analyses to find patches for real bugs in extant software. The provides an overview; a publication list; demo videos; and source code, benchmarks, workloads, and experimental reproduction instructions for all GenProg-related research.
Empirical evaluations: the ManyBugs and IntroClass benchmarks are intended to support evaluations of program repair research. A recent use of the latter established (interesting!) limits and challenges in existing state-of-the-art automated patch generation (see and ).